package com.ruoyi.lock.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDateTime;

/**
 * 周期性密码对象 a_periodic_password
 * 
 * @author ruoyi
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class APeriodicPassword extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private Long id;

    /** 设备MAC地址 */
    @Excel(name = "设备MAC地址")
    private String deviceMac;

    /** 生成的密码 */
    @Excel(name = "生成的密码")
    private String password;

    /** 密码有效期开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "密码有效期开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime startTime;

    /** 密码有效期结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "密码有效期结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime endTime;

    /** 密码序列号 */
    @Excel(name = "密码序列号")
    private Integer serialNumber;

    /** 所属房间ID */
    @Excel(name = "所属房间ID")
    private Long homeId;

    /** 备注说明 */
    @Excel(name = "备注说明")
    private String remarks;
    
    /** 是否过期 */
    @Excel(name = "是否过期")
    private Boolean isExpired;
} 